package com.gugee.ins.common.model.spider.blogger;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.ToString;

import java.util.List;

/**
 * spider by suggestedUser
 * @author Huangxin
 */
@Data
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
public class InsBloggerSuggestedResponse {
    private Data data;
    private String status;

    public static class Data{
        SuggestedUser user;
        public void setUser(SuggestedUser user) {
            this.user = user;
        }
        public SuggestedUser getUser() {
            return user;
        }
    }

    public static class SuggestedUser{
        @JsonProperty("edge_suggested_users")
        private EdgeSuggestedBody edgeSuggested;
        public void setEdgeSuggested(EdgeSuggestedBody edgeSuggested) {
            this.edgeSuggested = edgeSuggested;
        }
        public EdgeSuggestedBody getEdgeSuggested() {
            return edgeSuggested;
        }
    }

    public static class EdgeSuggestedBody{
        @JsonProperty("page_info")
        private PageInfo pageInfo;

        private List<EdgeSuggestedNode> edges;
        public void setPageInfo(PageInfo pageInfo) {
            this.pageInfo = pageInfo;
        }
        public PageInfo getPageInfo() {
            return pageInfo;
        }
        public void setEdges(List<EdgeSuggestedNode> edges) {
            this.edges = edges;
        }
        public List<EdgeSuggestedNode> getEdges() {
            return edges;
        }
    }

    public static class EdgeSuggestedNode{
        private EdgeNodeBody node;
        public void setNode(EdgeNodeBody node) {
            this.node = node;
        }
        public EdgeNodeBody getNode() {
            return node;
        }
    }

    public static class EdgeNodeBody{
        private EdgeBloggerNode user;
        public void setUser(EdgeBloggerNode user) {
            this.user = user;
        }
        public EdgeBloggerNode getUser() {
            return user;
        }
    }
}
